/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package accesodatos;

import java.sql.ResultSet;
import java.io.File;
import java.sql.SQLException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.category.DefaultCategoryDataset;


/**
 *
 * @author usuario
 */
public class generadorReporte {
    public generadorReporte(ResultSet consulta, String tipo){
        int cantidad=0;
        String datos;      
        if(tipo.equals("Pastel")){
            DefaultPieDataset pieDataset = new DefaultPieDataset();
            try{              
                while(consulta.next()){
                    datos="";
                    cantidad=consulta.getInt("cantidad");                   
                    for(int i=1;i<=consulta.getMetaData().getColumnCount();i++){
                        //datos+="."+consulta.getMetaData().getColumnLabel(i);
                        //datos+=" "+consulta.getMetaData().getColumnName(i);
                        datos+=" "+consulta.getString(i);
                    }
                    pieDataset.setValue(datos, cantidad);
                }
                JFreeChart chart = ChartFactory.createPieChart
                        ("Resultado Consulta", // Title
                        pieDataset, // Dataset
                         true, // Show legend
                         true, // Use tooltips
                         false // Configure chart to generate URLs?
                         );
                ChartFrame frame = new ChartFrame("Resultado", chart);
                frame.pack();
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
            }
            catch (SQLException ex) 
            {
                
            } 
        }
        else if(tipo.equals("Barras")){
            DefaultCategoryDataset dataset = new DefaultCategoryDataset();
            
            try{
                datos="";
                while(consulta.next()){
                    datos="";
                    cantidad=consulta.getInt("cantidad");
                    
                    System.out.print(consulta.getMetaData().getColumnName(2));
                    
                    for(int i=1;i<=consulta.getMetaData().getColumnCount();i++){
                        //datos+="."+consulta.getMetaData().getColumnLabel(i);
                        datos+=" "+consulta.getString(i);
                    }
                    
                    dataset.setValue(cantidad, datos, "cantidad");
                    //dataset.addValue(cantidad, datos, consulta.getMetaData().getColumnLabel(cantidad));
                }
                JFreeChart chart = ChartFactory.createBarChart("Resultado Consulta", "", "", dataset, PlotOrientation.VERTICAL, true, true, false);    
                 ChartFrame frame = new ChartFrame("Resultado", chart);
                frame.pack();
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);        
            }
            catch (SQLException ex)            
            {
                 System.err.println(ex);
            }
        }
        
    }
    
}
